Budget
Thaireungruang Hotel
Business hotel. Relatively nice, quiet, clean and good-sized rooms. Some have TV and hot water probably just the AC rooms. Wifi available via username and password for 100 Baht/24 hr. The hotel staff are very helpful and polite and speak enough English to answer your questions. This hotel also has a free shuttle service to the bar Chilling Out.
Phangan Guesthouse & Hotel
402/7 taladmai rd. 27 muang suratthani 077-205799. clean and convenient, near the minibus station and between the two bus stations. basic and friendly. fan for 300 baht, ac room for 400 baht. the owner is really nice. each room is named after a surat thani provincial city. located near the corner of taladmai and taladmai rd. 27
Tapee Hotel
(http://www.tapeehotel.com) is a mid-range priced hotel at 450-550 baht. the price differences range from fan to a/c and i think view, but i'm not sure. as a woman traveling alone i liked the bright entrance, manned desk and short distance to the market and bus stations. the rooms were older, very clean and the a/c worked quietly. there are two english-language channels on the tv al jazeera and star movies, one spanish and one cantonese, in addition to local channels. and it had a hot water shower. located on chonkasem road, it's about a 10 minute walk from the two bus stations and five from the waterfront and night market, which you should not miss. turn left from the lobby, right at the next main road and follow your nose. the walk home later in the evening is interesting, as many of the 'short time' hotels have their ladies out, but the area is safe.
Chayo Bar
Is on the riverfront, opposite ban don pier where the night boats leave for the islands. free accommodation in a limited number of rooms, but do not expect anything special: mattress-on-floor rooms, fans and shared bathrooms. run by chayo and toto who will look after you well but do not suffer fools gladly. also serves food. notice: chayo and toto have since moved due the the rising rents near the pier. their new shop is on talad mai road near the entrance talad kaset 2 bus station.
Ban Don Hotel
Is a place for really cheap and clean rooms, but for 300 baht, don't expect anything fancy. most rooms don't have air-con or hot water and the entrance is through a shady looking restaurant. but, if you're looking for a place just to stay a night while passing through, it's pretty good for the price. located close to ban don road and na mueang road.
Midrange
100 Islands Resort and Spa
(http://www.roikoh.com) - 770 to 1200 baht a night. clean, spacious rooms. wide range of facilities and amenities including air conditioning, minifridge in the room, a pool, spa and restaurant on site. it's located slightly outside the city centre. if your taxi driver doesn't know where it is, they should know where tesco-lotus is, the hotel is near there. to reach the city centre, there are 20 baht tuk tuks driving past the hotel every few minutes.